#ifndef CUBEEMITTER_H_
#define CUBEEMITTER_H_
#include "Cube.h"
#include "CubePile.h"
#include "Constants.h"
#include "RandomTimeEmitter.h"
#include "CubePileGrid.h"
#include "TextureLoader.h"

#include <GL/glu.h>
#include <vector>
using namespace std;


class CubeEmitter : public RandomTimeEmitter
{
    int emissionsLeft;
	int randomInt(int max);
	
	TextureLoader * textureLoader;
	
	void emit(int x, int z, CubePile * cubePile);
	public:
		CubeEmitter(CubePileGrid * aCubePiles, TextureLoader * aTextureLoader, int aMaxEmissions); 
		virtual ~CubeEmitter(){};
		virtual void emitTo(CubePileGrid * cubePiles);
		virtual bool isFinishedEmitting();
};


#endif /*CUBEEMITTER_H_*/
